seperated validators from models from schemas. This makes it easier to unit test the validators, and makes it somewhat pointless to unit test the models