impl Drop, add docs