Improved response, validation, and error handling. Now also handles fetch and pull