moved dispatcher to inside frame namespace