using concerns now to keep models clean