First version, fleshing out filekeeper