Started refactoring ahead of interface addition
Added switch block
Switch block now doesn't break if not matched