Reworked to use Response Objects