added proper validations to models, began building test suite with minitest