cleaner api
porting to r58