Shadow is now passed by reference.