Most of this should be in model, no?