Author: Peter Huchthausen and  Igor Kurdin and  R. Alan White