added square method