files can be messy now (blank lines and whole line comments supported