add & modify

add some method and modify the code