revised how action button Q works, new override function Action()