add normal_iterator.hpp