MUCH better tests, add license