new iteration with clear option