new events and js opt