relay: generify multiple concepts