further modification of price function