reconstructed shuffle and updated ui