Revert f16b969..71574c6

This rolls back to commit f16b9696d67d8082d31d707608590781ed69402a.
Revert 71574c6..8e79fba

This rolls back to commit 71574c6c1b9d1e2a5f97675e1d67abf9a1fa55d3.
solve the conflict copy