refined interface