fix response abstractions... starting to get messy