visual interface