refactor repo

start refactoring the repo structure to make loadable module