added pwm_demo. the source should be cleaned