refactored, still working, going to take out info windows