button man
good event handling