Part 2 – Main reasons for the complex code