customer joins and leaves methods added to avoid code repetition