added subSchemas argument