syntax and style.  Needs to be split and properly class loaded for autoloading