cleaned up map class