added better error constructs for all response types