custom File and Stream