Adding comments, refactoring, extending