algorithm visualization framework