combined frontend and backend