Explaining the Cambrian explosion