add/clean comments +docs
use a +log library
add unit tests +test
