Stage1:
+refactoring
+2 players