Refactor. Split classes and example
Update README and do housekeeping