add return value processing