refining
multiple files
re-structuring
filter to remove extra newlines
refining implementation