refactor blog, forum and news rules int bfn abstract rule