some explanation added.