change param name
add eval-pre function
write real preconditions