Use scanners instead of readers for cleaner code