Implemented designated initializer in main.m and fixed a bug where product name returns null