Simplified and shortened. Few typos fixed