fixed doAction