implemented half of `rollUsing`, but not tested