HashMap is now a generic global object and can be throw out from this library as a standalone lib