some depth magics. Also bad experience with non convex polygons :l