Add ability to parse all files in a directory tree,

Also fix minor bug in layout - cost is optional (lands)