should this move into the model?