added semi randomiser