Rewrite system using a bunch of classes. OO approach should help with new endeavors. Output matches old system.