Refactored to response building design