ok, always write an interface before coding a concrete implementation of that said interface... but it is not clear WHY we have to write interface. From a OOP noob point of view, it sounds like writing the same thing twice.