add giveItem takeItem and corresponding examples and tests