cycles added, message updated, error messages added, part 4 almost done... only need write error checking.