merge john's changes into master