added Shadow.cpp and .h