comments + more refactor