Code cleanup
Now using immutables throughout; Simplified some functions; Eliminated
unnecessary classes; Did some renaming