only setup handlers once