A fairly big refactor and rewrite. Still need to amalgamate objects from different seeds