Many steps towards handling input (but not there yet...)