restructuring source tree