Create product fixes

Could we use a map instead of switch/case? It will result in a bit nicer code.