calc change and random
calc and random