suffling logic introduced