proposed impl of #980