SWP2 - Rework Prototype Pattern