update gitignore
add feature to support read lines from source file