lazy loading of modules

also removed TTY that was not really accessed anywhere (the api also has changed so I think it needs some love)