pass options object instead of parameters