Add comments + refactor