Reworked models, added some validation, not working right now