A user defined terminal