Aspects of Scientific Explanation and Other Essays in the Philosophy of Science