Added Algorithm Factory