much better explanation in README.md