new interface,  functional.