Refactor the directory structure to better support git submodule.