added guard and spring