very basic user functionality implemented