Clean dev and master
Clean branch, reduce lenght of methods by generalizing repetitive lines, fix test, add main to file to help debug and work as a simple cli.
some test still missing: namely
- get source (does not work with mark v2.6.0 return empty list)
- the methods about file and cache.