added poisson disk sampling