further generalisation for term generation.