Rigorous changes made.