1. usage detection2. language architecture3. choose grammar4. code writing 5. social certificate6. program usage