added comparison for shapes