add hash map implementation
prepare for global functions