delegated more initialization to logicalmap constructor and added a method joshua asked for