warehouse functionality