moved input to client