added virtual cursor