fix highlight methods, add zoom animation, and button events