Step 1 - Define Functions
Step 2 - Add a Vector to Store Data
Step 3 - Add and Remove Blocks from Vector
Step 5 - Adding some Classes
Step 6 - Getting stuff back from the Objects
Step 7 - Adding more to the Methods
Step 13 - Rebuilding with better Class Structures
Step 14 - Input and Output Files - Putting it all together