add user model for authencation and add its functionlalites