Rebuilt after last improvements and bugfixes.