add script
add test cases
update api function
refator list and main process and move dial to main process