ex05: make shadow optional