reorganize the repo structure