Use some generators stuff from pingpong/generators package
Large refactor
Updated Repositories
Clean up