function [out] = wobbler_strip(vial, buffer_start)

%for small circle, diamond gasket:
REAGENT_VOL = 125;
CHASE_VOL = 200;

%for er285w:
%REAGENT_VOL = 125;
%CHASE_VOL = 225;

%for small circle, rectangular gasket:
%REAGENT_VOL = 125;
%CHASE_VOL = 265;

%for large rectangle:
%REAGENT_VOL = 125;
%CHASE_VOL = 300;

MIX_VOL = 25;
ENZYME_TEMP = 37;
STRIP_TIME = 300;

%Put enzyme mix in reagent loop
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Put enzyme mix ' num2str(vial) ' in reagent loop']);
out = ll_draw_reagent(vial, REAGENT_VOL);

%Push enzyme mix into flow cell
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Add wash buffer ' num2str(buffer_start) ' to loop']);
%out = ll_draw_reagent_mix(buffer_start, CHASE_VOL, MIX_VOL, MIX_VOL);
out = ll_draw_reagent(buffer_start, CHASE_VOL);

%Set slide temp for stripping
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Heating cell to 37...']);
set_slide_temp(ENZYME_TEMP);

%Perform UDG strip
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Primer is stripping for ' num2str(STRIP_TIME / 60) ' min.']);
for(i = 1:20)
    disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected)]);
    pause((STRIP_TIME / 20));
end

%Heat to remove primer
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Heating cell to 56...']);
set_slide_temp(56);
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Pausing for 60 seconds at 56...']);
pause(60);
out = ll_draw_buffer(500);

%Perform second strip
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Loading second volume of USER...']);
out = ll_draw_reagent(vial, REAGENT_VOL);
out = ll_draw_reagent(buffer_start + 1, CHASE_VOL);
out = ll_needle_wash();

%Set slide temp for stripping
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Heating cell for second strip...']);
set_slide_temp(ENZYME_TEMP);

disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Primer is stripping for ' num2str(STRIP_TIME / 60) ' min.']);
for(i = 1:20)
    disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected)]);
    pause((STRIP_TIME / 20));
end


% Wash out UDG
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Washing UDG out (5 washes)']);
disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Wash 1 of 5: ' num2str(buffer_start+1)]);
out = ll_draw_buffer_fast(500);

disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Wash 2 of 5: ' num2str(buffer_start+2)]);
out = ll_draw_buffer_fast(500);

disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Wash 3 of 5: ' num2str(buffer_start+3)]);
out = ll_draw_buffer_fast(500);

disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Wash 4 of 5: ' num2str(buffer_start+4)]);
out = ll_draw_buffer(500);

disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Wash 5 of 5: ' num2str(buffer_start+5)]);
out = ll_draw_buffer(500);

disp([timestamp(clock) ' ' num2str(get_slide_temp) ' ' num2str(get_slide_temp_corrected) '      Stripping finished.']);





