cleanup
update documentation
add example