with new subcode handling