fix bug
add reply function