refactor
refactor visual