added new method shuffle