Implements basic button functionality
Merge with James. Adds classes and button functionality