major update - see changelog for more information