routing improvement + clean up