Added some features of self transfer