input interface