final commented version