Probably lots of useless crap in here, will be coming back to this project sometime in the future