Don't use a pointer
added query test for bug I found
changed and simplified the matching logic
added QueryTest, use t.Fatal instead of t.Error+return
renamed test