separation of concerns!