add basic user functionality