add specs and guard