Revert "efactor"

This reverts commit 02ea56012bd67569233b316e0c13daa8e9485533.
remove xcuserdata
merge conflict
Revert "refactor code"

This reverts commit e6890d95e05ef5d09de4b093b8e679b9e5f34c43.