Lot of changes, improved performance, added debugger