only need to write action