add more complex subtype test