All required functionality

The only thing we need to do is comment the code and handle button
status so you cannot choose a button at the wrong time