moved functional data transforms out into separate files