the beginning of making so support multiple light types based on router_type