Implement iterator and countable