merge of ramr's multi-version node cart