rename buttonmap -> button
better handling of buttons