customer joins and leaves methods added to avoid code repetition
run method added to simplify another move