tested and revise POST action