Revert "Revert "New added changes""

This reverts commit 0350d353639a18080b65f5e54a45e62b6ab5dc3f.