Added not null assertions - not sure if this counts as 'changing behaviour of system'