James C - parser/item refactoring
James C - refactor
James C - more refactoring