Final Input version