adding way to much code pretty much refactored and rewrote a bunch