Added some more methods to do and created the factory