(See commit description)