copyright (c) 2007 Henry Kubik all rights reserved.