implements profile edit for user and admin