solver template