Robust code is best code

Still incomplete... undo is partially implemented... compiles with NO
ERRORS :D