warehouse principles