added eval depth limit