handlers are now initialized with arguments