[Added] Documentation
[Changed] Refactored inline with discussion
[ci skip]