r658: Initial revision