summary function added