final scanner