fully worked interface