slight refactor to help with complicated merges

I have slightly refactored the code base to help avoid crazy merges. The iterative seeding and nbrs modeling have been moved to separate files. I also moved a bunch of functions to the util.py file.