Re-structuring the code and dependencies