add -c function
add -x function