Many changes, read the included readme.md