in progress - rehashing for more "typed" usage.