Solid, but button programming is deeply flawed.