Fixed issue #2 by implementing a common feature iterator