Foundations of Information Theory