do we need both change and input? This seems redundant.