add guard and helpers