Removed a debug print
goto takes movement order as additional args
Reordered assert params
Moved Driver related classes in separate files
Split core into separate files
Added comment