no need to be dynamic
don't search source directory recursively
support generation of multiple json files from one sheet

print full stacktrace
add marginalia dependency
remove static primary key
remove verbose printing
update expected result
move arguments to function definition line