added better touch event handling for 'active' state