implemented clear