implement Evan's suggestions