Many changes, and tests
Improved tests, Updated README.md