split schema into type-specific schemas; runs faster yay \o/