adding guard and other tests