scope deduction with interface