move implementation to shadowmapping class #18