NEW, will be some errors but old code was junk