integrate some of bcp's comments
more bcp comments