many, many updates, fixes and new features