Further	rewriting and ratonalization of	the code.