added focus callbacks