updated User model with User schema, auth startegies, validations and methods.