Revised with some changes.