variable size input