Implementational comments added.