significant restructuring of the code. Item usage does not work
currently.