create BaseAlgorithm