move algorithm parameters into algorithm classes