version moved to 1.2.0
split query class hierarchy using bridge pattern
split plan builder into multiple classes