added shadow function only, nothing is calling it atm