reorganize project structue