add copyright
add counted_ptr