big refactor to add automated tests
forgot about the dependencies needing to be ignored