Restructure Ideas

Changed some josh code into somthing that makes sense, Renamed some
things to accuratly discribe what they are doing, added comments, Added
@author to all the things josh did