update for separation of concerns