flesh out ds and algos