pull only on demand from the interface