added some more methods and made some serious structure changes
Have a memory currption bug need to reboot