benchmark update, need to be debuged