change main function
modify procedure