merged backend and frontend