use onSecond combinator to avoid explicit concat