get rid of PI macro and use M_PI instead