update with stack, queue, point