backend and some front end