improvements done product in store method, not optimal yet