move extended map class to its own class