The main function has been finished

There are still having some things that needed to be changed, such as
comments, benchmark and bugs