applied various english corrections thanks to the review by strel.