debug
update
add benchmark