adding fully implementation of modify product