adds docs
reduces memory needs for fast mode
DRY