use composeWith and simplify options passing