integrate changes from john and mark to master