rule handler use interface