calculate version once