Issue #3: detailed comments are added