write (and not tested at all)
add test/example, and fix code with 1.9.2 style hash initializer