Author: K Ruddle and D. Odermann