Touch support and lots of other improvements