Completed add to self. UNTESTED!!