Complete functionality for items, including error messages

@ryanhedges Complete functionality for items, including error messages