tweak appender, add unittests for not-yet covered paths