* attempt at better touch support
* add some structure