change initiation behaviour to do not enable analog report by default.
change digitalWrite() and analogWrite() to do not invoke drain().
add some comments.