Notes by ghrey303