implemented countable