separate admin and frontend controller functionality