added type checking. fixed hash_map bug. finished immutable string