work on prealloc: file read, nnz per row estimated
cleanup: mark sections, use option for filename, add DEBUG