refactor error handling into strategies
Merge pull request #24 from myou/refactor-error-handling-into-strategies

refactor error handling into strategies