two files based on method by Wallace Campbell