Modified implementation to use async NM and RM interfaces