huge commit with comments and refactor
commit for merge