Initial upload
Merge https://github.com/Tyrn/preordered-copy