Use interface type instead of implelemtation.