SquareFactory implemented