working on class loading re-write