we still rely on router