puts model manipulation logic in the repository