first commit. complete refactoring starts
2nd commit
adds better settings management
refactoring nearly done
fixes lots of syntax errors
tmp commit
deletes old
another commit
deletes main.js, not needed
another commit;
adds testsuite and first tests
merge refactor