(in random order)

Approved