more friendly to user and add statistical function