updated schema generation to allow any order of elements not in a group