Microsoft tops expectations with record revenue