Mike Oliphant See Changelog and CREDITS for the many code contributions by others