modeling the user