entity product refactor 1.1