add user functionality built