Moved alternate implementation of Map into seperate module