* refactored epoch trainers