simplify dict protocol