4:31 change the name and some subroutine from charles
add some comments