Exceptions Decoupling

This pull requests should close #17