added validation and spec of user model