Moving things around to be easier to extend