Counting theory