cleaned up some exception stuff and used java original exceptions