revised and cleaned up mappings