optimize shuffler, update todo