Buying and selling stocks causes price changes, which are described by the price impact function. To explain the shape of this function, we study the Island ECN orderbook. In addition to transaction data, the orderbook contains information about potential supply and demand for a stock. The virtual price impact calculated from this information is four times stronger than the actual one and explains it only partially. However, we find a strong anticorrelation between price changes and order flow, which strongly reduces the virtual price impact and provides for a quantitative explanation of the empirical price impact function.