fix: handle null responses and singular responses