the formatting here looks a bit weird =/ Not sure if we are at the point where having a model do the work makes sense but this does seem like we are starting to mix concerns a bit?