some separation of concerns