this has count function