Scanner redo

Not sure if this is a default or needs a docstring