Before Demo
Basic add product functionality,
refactored