implemented socal_trainer