some refactorings..
updating README.
adding some interfaces and exceptions
Merge pull request #1 from gustavopinto/master

Applying some refactorings