revise train and userhotAction