make lifetime shift configurable, fix bug in assembly code where shift was off by four