Prototype pattern implementation improved

Now using the ICloneable interface