add more detailed comments