restructure source tree