self pointer
update all