merge from xcore master