implemented exaptions 2