don't depend on Rcpp