more clean (die inside of hash_add and hash_remove - use hash_exists
first if you need safety)