add piece model and medium model, tests passing for validations and associations