Theory of evolution