revert completed, but reworking to maintain proper version on duplicates