SU 15 update, and refactor

Break up tf.rb into smaller pieces