Many improvements.
Many improvements.
More fixes.
Added comments.
Updated documentation.
Added new factory.