added getstate/setstate for product kernel