add the foundation for visual mode