added ability to comment + a bit refactoring