building inventory object, when to output... when to cache...