added touch support (incomplete)