default list file is created if not exists, some code changes for better code-readability, removed some unnecessary instance variables