using unidirectional scavenging