adding user functionality