updated to support void responses