add count function