also this method might change, this is all pretty preliminary. just wanted some feedback before I went on and cleaned stuff up