input upgrade