3 relies on 3?
And why not make 3 rely on 2, instead of 1 and 2 (since 2 requires 1)?