Cancer stem cell theory