uses x, y, z coords