refactor tune, add TuneBody