public function isHeliotonic() {
		// let's at least make an attempt to do this programatically
		if (!$this->isHeptatonic()) {
			return false;
		}

		// are any of the scale degrees more than 2 alterations away from the major scale?
		$major = array(0,2,4,5,7,9,11);
		$tones = $this->getTones();
		foreach ($tones as $index => $tone) {
			if (abs($tone - $major[$index]) > 2) {
				return false;
			}
		}
		return true;

		// here's our backup list in case the above doesn't work
		return in_array($this->scale, array(1387,1451,1709,1717,2773,2477,2741,1453,2777,1741,1395,2745));
	}