rearranged repository and setup libraries from submodules