Start point for rearchitect this.