finish implementing v1 schema checking, including test cases