Refactor to set up a few new ideas