rebuilded module; typos corrected