add rand
Merge branches 'master' and 'new'