self-this hack