rearranged firmware