add guard&soprk