add new rule, extract rules into a separate file, add a test