remove shitty shitty visitor patterns. should have done this earlier.
reformat code