added triple generation