pull in changes from Ali