Cambrian explosion lasted 20 million years