copyright 1997-2005, 2006,  2007, 2008  Johnson CN