restructure common files; compilation succeed