Input thread