lots of work updating input and inventory stuff