Switched to direct inheritence for classes, fixed a couple of errors in the loader