improve key mapping