Update match loop (micro optimisation)
Add function which triggers errors
Catch 'not found' path