Interface, no functionality
First implementation, not tested
Flipping initial implementation - working
Added debugging flags, and percentage output
Corrected header
Corrected header again