refactoring
- separate repo and scanner into modules
- more tests