better exception handling for ::Dollars divide by zero
support for adding locking to a resultset