Hopefully the final refactor commit