updated interfaces