split open spots into 4 functions... aaaaaand some other stuff