Prepare for multi-project

just changes the build file and moves files. No intended functional change.