----------------------------------------------------------------------------- Copyright 2010 Jeffrey Friedl