added product categories, and product category pages and various code clean up