modification from enwbranch