fixed stupid bug, dont set circular references
take an item from map
remove item from map when taken