separated user schema and model in order to use mongoose middleware "pre"