refactored User model to use async before hooks instead of overriding Model.create