more work on shadow map