add self exec