improvements
immutable class scanner