implementing rule part