more work to use ends info in do_task_floating