added user object and validation