revised interfaces