First try for a new function input that could substitute the other two functions input_*