Version 2.3

Refactoring + add comments