updating with Peter's edits