the customer function updated #3