basic setup and models done with validations