add algorithm visualization support