refactoring for shadow
renderer rename to surface