added lambert solver