clean up and comment the code
TSRMLS_CC and TSRMLS_D