change to `handleAction`