Elon Musk buys $2.89 billion stake in Twitter