update input function