Some refactor with your comments