author : Spencer A. Freeman