removing `terminate` from the interface