the item can now return a true itemtype instead of a string; the old method has become superflous