a bunch of new features and bug fixes