New start - use reader instead of loading the file to the memory.
Start to do things in TDD
separate logging (probably obsolete.. will remove lated, but it's fun)
separate structures (TODO: will move them inside parser as well)
separate main