Made some major changes
Almost done...