Added a addProduct function
Merge remote-tracking branch 'origin/master'
Added a addProduct function
update
resolved conflict
add some exception