work on global solver; compiles OK not tested!