This fixes #5.  The way we work with maps is a little different now to allow for better reuse of internal structures (and referenced memory)