more logic shuffling