re-inline version