added alternate_segments and segment to Selector
added progress callback defines