[3.8] Implement caption route

Some things might be wrong though...