more descriptive. explained the types of code here