corrected some errors, still much work to do...