Refactored
You can always improve the documentation. #4
Designate as beta