add moon illuminated fraction, refactor