add more input logic and tooltip window