added generator support, updated coverage, updated docs