James C - added unit type
James C - refactored types
James C - refactored item
James C - opcode cleanup