aproved by using interface