add input function