add WIP (but mostly done) example 4: input basics