Add save function to create non-existent dirs