Refactor + Comments