Retail customer refactor