Factor out and simplify scanner
Merge remote-tracking branch 'origin/master'

Conflicts:
	parser.py