entity product refactor 1.2