first implementation of soft shadows