latest changes incorporated. last section is to be checked.