improve mapping subsystem