adapted by Paul Allen