adds validation to product model
create store and supports cache
fix cache support for products
modifies application layout