updated and finished Product Controller