added BaseAlgo & split dna def