Added shell to main method; added support for button presses