Fixed a bug where everything hashed to the same value.
Other incremental improvements
hash table fix, define directives should almost work now!