Refactored for backwards compatibility, maintining api functionality to keep from breaking auxiliary codebases