deferral interface and implement