Compiles without warnings or errors. Need to implement remaining functionality.