added red black iterator