Lots of additions

Input handling and flicker class amongst the many additions