better generate_actions_for