first pass at implemenr

todo: touch events, more compatibility