support routes with optional parameters.