square generator added