changed back-end to account for diff item types