revise per comments