Style fixes.
Small code factorization.
Implement install and remove.
Small tests.
Add .gitignore