added threaded solver template