Fail on exception.
Rearrange package structure to make it easier to understand.
Merge pull request #3 from ari/master

one more merge