Moved Rule to separate module.