draft 1 playing with the 3 problems
experiment playing with hash_table