abstract class for products processors