Several additions and slight modifications.