implement guard and spork