implement segments