make it a package instead of modules
new folder structure
fix test case