port to xcore 2.0