Remove factory function and return class
Add some examples