define functional data io