backend and front-end communication