integral solave, monte_carlo pi, promise, refactor