rewritten some comments