implement Darcy file IO