A method of providing at least a portion of a media program to a user device, comprising the steps of: receiving a first command from the user device to stream a media program to the user device in a media program provider; providing a designated user-selectable control that is configured to cause a swap of advertisements during an advertisement opportunity slot; during the advertisement opportunity slot, causing streaming of a first advertisement to the user device for playback to a user on the user device; receiving a second command from a user input on the user device selecting the user-selectable control, to cause display of a list of a set (1710A, 1710B, 1710C) of second advertisements, the second command being an interrupt command, receiving the second command wherein at least a first portion of the first advertisement has been streamed and played back on the user device when the second command is received; in response to receiving the second command selecting the user-selectable control, performing during the advertisement opportunity slot: determining the set of second advertisements for the advertisement opportunity slot after receiving the second command; causing display of a list of the set of second advertisements on the user device after the second command was received and after streaming and playing back of the at least the first portion of the first advertisement, the set of second advertisements determined to be candidates for streaming during the advertisement opportunity slot; receiving from the user device an indication of a selection from the user selecting one advertisement of the set of second advertisements; causing a ceasing (1628, 1632) of the streaming of the first advertisement to the user device in response to the second command; and causing a streaming of the selected one of the second advertisements during the time duration for the advertisement opportunity slot to the user device for playback to the user. receiving a first command from the user device to stream a media program to the user device in a media program provider; providing a designated user-selectable control that is configured to cause a swap of advertisements during an advertisement opportunity slot; during the advertisement opportunity slot, causing streaming of a first advertisement to the user device for playback to a user on the user device; receiving a second command from a user input on the user device selecting the user-selectable control, to cause display of a list of a set (1710A, 1710B, 1710C) of second advertisements, the second command being an interrupt command, receiving the second command wherein at least a first portion of the first advertisement has been streamed and played back on the user device when the second command is received; in response to receiving the second command selecting the user-selectable control, performing during the advertisement opportunity slot: determining the set of second advertisements for the advertisement opportunity slot after receiving the second command; causing display of a list of the set of second advertisements on the user device after the second command was received and after streaming and playing back of the at least the first portion of the first advertisement, the set of second advertisements determined to be candidates for streaming during the advertisement opportunity slot; receiving from the user device an indication of a selection from the user selecting one advertisement of the set of second advertisements; causing a ceasing (1628, 1632) of the streaming of the first advertisement to the user device in response to the second command; and causing a streaming of the selected one of the second advertisements during the time duration for the advertisement opportunity slot to the user device for playback to the user. determining the set of second advertisements for the advertisement opportunity slot after receiving the second command; causing display of a list of the set of second advertisements on the user device after the second command was received and after streaming and playing back of the at least the first portion of the first advertisement, the set of second advertisements determined to be candidates for streaming during the advertisement opportunity slot; receiving from the user device an indication of a selection from the user selecting one advertisement of the set of second advertisements; causing a ceasing (1628, 1632) of the streaming of the first advertisement to the user device in response to the second command; and causing a streaming of the selected one of the second advertisements during the time duration for the advertisement opportunity slot to the user device for playback to the user.