changing vector exp_factor type from size_t to float and beautifying
fixing docs
making the iterator struct opaque