Adding new interfaces as specified in e-mail and adding comments to some classes.