integrate turn-end
refine finish-logic