fix this
fix iterator