always ensure session path exists before attempting to write
start adding tests for serialization #19