Retriever as an abstract class

That makes one function less to implement.
Explicit use of mult in Product