adds base for other algorithms