add self-elevating code