add isSameShape functionality