adding recursive tests