updated to use o.route properly