add cost function
add cost function