renamed OutputPort to CharacterHandle