added variable precision integration