save hook with journaling