modified by Tom, add comment 2