#3156 (part 2)

#3155 (part 1)