started reimplementing useItem