When I wrote the code halfway I found the previous structure was too bad that I had to start a new version.