backend and frontend changes