test removing
add recursively