add XContract