Actually generation order does not matter here, as logic is now written.