[WIP] Reworking and clearing the code up, to be ready for a interpreter.