added shuffle prototype