conver to using interface