added summary function