added controller module, but so far I have no well-defined idea how to organize user input handlind on the whole