Should we add checking here as elsewhere to ensure the structure parameters are consistent?