reorginized objects related to query (relates to #2)
reorginized cursor objects (relates to #2)
a draft of strongly typed query and cursor (relats to #2)