implement ButtonControl #22