introduce CreateUsing and CloneUsing
remove CloneTo* helpers
convert CloneFlags to a type