create/delete user; lots of refactoring