meaningful error re-factoring done (more testing as we go along)