Better comments. Need one more refactor