revised and corrected more typos and mistakes -- not my first language, sorry :P