Go scanner

A lot of changes were made here, reason enough to pull them into master (what a lousy reason :D)