added fuse
basic tests
restructured the modules