added basic user functionality