add docs and add auto destruct feature