added by Bill Dealing