better character management with different mappings