add primitive schema support