for xtemplate 3.x