split out into multiple files for SoC

added some tfs functionality