portable text interface framework