Adjusting product model, adding unit tests