correct order of subtypes