input logic