* added a gif to samples
* refactored further more
* refactored PIL module as class using dependency injection for better
testing