Add class loader

Add tests
Merge branch 'i1'