i should really document the internals, improve the README.md as well as add more examples implementations.