implemented add feature