improve default sub-type handling