extended solver to 3D