todo: readme, unit tests, code examples