overall changes to backend and frontend