Refactor: mark as final or abstract
Refactor: final/abstract
Refactor: final/abstract
Bug: naming
Refactor: interator minimalized
New: Scanner in compiler
New: Scanner is iterator
New: Test
New: Test