separation of responses from logic