added skeleton for algorithm and visualization logic