added protocol for add/edit user