preparation for #282
using builder pattern for AlgorithmOptions