TODO
- write a small command line script to simplify usage
- Test and port the code to non-linux platforms
