Why and how buttons now work