re-construct source tree