merge from roryg