big commit. see README.md