interaction with the backend