Complete re factoring.