added comments, some fine point changes