User model and validation added