* better unit testing, it's dangerous to test with external daemon
* complete method signatures
* support timeout options
