strict in definition function