I learned how to properly throw exceptions!

cleaned up some code on revisitation.