replace self by _self