additional refinements to the interface