fixing code. needed to account for when events dont have a location.
further restructuring