added support for block based queries, as well as accessing and changing the delegate