Integrating Go_Scanner into master

Go_Scanner needs to be intergrated into master because the branch has some critical implementations that are necessary for further developement.