add custom file interface