Gona restructure the code so I just commit first.