all basic user functionality in place