break down the version single-source techniques