modifications to library, not backwards compatible