~Comments and refactoring
~
~~~Comments and refactoring
~~~