refactored customization process & tests