added state machine to Item