work on user model
add user authentication